package com.onepiece.shipelves.common.myutils.sort;

public class Select {

    static int niXu = 0;
    public static void main(String[] args) {
//        int[] nums = {3,7,1, 2, 3, 5, 2, 6, 9, 3, 2, 1};
        int[] nums = {3,2,1};
        int[] sortArray = sortArray(nums);
        System.out.println(niXu);
        for (int i = 0; i < sortArray.length; i++) {
            System.out.println(sortArray[i]);
        }
    }


    //插入排序通过移动把数插入到已排序区间的位置上去
    private static int[] sortArray(int[] nums) {
        int length = nums.length;
        for (int i = 1; i < length; i++) {//代表要选择的数字

            int value = nums[i];
            int j = i - 1;
            for (; j>= 0; j--) {//从有序数列的最后开始比较，这样每次循环移动一位，要不然是要找到位置，然后又while循环移动比较麻烦
                if(value < nums[j]){
                    nums[j +1] = nums[j];
                    niXu++;

                }else {
                    break;
                }


            }
            nums[j + 1] = value;//考虑到最后还--了一次

        }
        return nums;
    }
}
